<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  
  <title>【学习记录】【Python】【numpy】自学简要记录（未完）.md | 蓝湖畔淅淅沥沥的雨</title>
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  <meta name="description" content="说明 - 2022-05-05 本篇博客为本人原创, 原发布于CSDN, 在搭建个人博客后使用爬虫批量爬取并挂到个人博客, 出于一些技术原因博客未能完全还原到初始版本(而且我懒得修改), 在观看体验上会有一些瑕疵 ,若有需求会发布重制版总结性新博客。发布时间统一定为1111年11月11日。钦此。 自学记录，不专业  1.很基础的操作  010.建立一个数组以及查看它的一些属性 看就完了，奥里给">
<meta property="og:type" content="article">
<meta property="og:title" content="【学习记录】【Python】【numpy】自学简要记录（未完）.md">
<meta property="og:url" content="http://example.com/1111/11/11/%E3%80%90%E5%AD%A6%E4%B9%A0%E8%AE%B0%E5%BD%95%E3%80%91%E3%80%90Python%E3%80%91%E3%80%90numpy%E3%80%91%E8%87%AA%E5%AD%A6%E7%AE%80%E8%A6%81%E8%AE%B0%E5%BD%95%EF%BC%88%E6%9C%AA%E5%AE%8C%EF%BC%89/index.html">
<meta property="og:site_name" content="蓝湖畔淅淅沥沥的雨">
<meta property="og:description" content="说明 - 2022-05-05 本篇博客为本人原创, 原发布于CSDN, 在搭建个人博客后使用爬虫批量爬取并挂到个人博客, 出于一些技术原因博客未能完全还原到初始版本(而且我懒得修改), 在观看体验上会有一些瑕疵 ,若有需求会发布重制版总结性新博客。发布时间统一定为1111年11月11日。钦此。 自学记录，不专业  1.很基础的操作  010.建立一个数组以及查看它的一些属性 看就完了，奥里给">
<meta property="og:locale" content="zh_CN">
<meta property="article:published_time" content="1111-11-11T03:06:11.000Z">
<meta property="article:modified_time" content="2022-05-06T08:13:50.533Z">
<meta property="article:author" content="StarsWhisper">
<meta property="article:tag" content="OldBlog(Before20220505)">
<meta property="article:tag" content="python库">
<meta name="twitter:card" content="summary">
  
    <link rel="alternate" href="/atom.xml" title="蓝湖畔淅淅沥沥的雨" type="application/atom+xml">
  
  
    <link rel="icon" href="/favicon.png">
  
  
    <link href="//fonts.googleapis.com/css?family=Source+Code+Pro" rel="stylesheet" type="text/css">
  
  
<link rel="stylesheet" href="/css/style.css">

  
<link rel="stylesheet" href="/plugin/bganimation/bg.css">

  

  <link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.10.0/katex.min.css" rel="stylesheet" type="text/css">
<meta name="generator" content="Hexo 6.1.0"></head>

<body>
  <div id="container">
    <div id="wrap">
      <div class="outer">
        <div class="widget-wrap mobile-header">
  <h3 class="widget-title"></h3>
  <div class="widget">
    <img class="avatar" src="/images/avatar.png">
    <h2 class="author">StarsWhisper</h2>
    <h3 class="description"></h3>
    <div class="count-box">
      <a href="/archives"><div><strong>75</strong><br>文章</div></a>
      <a href="/categories"><div><strong>31</strong><br>分类</div></a>
      <a href="/tags"><div><strong>56</strong><br>标签</div></a>
    </div>
    <ul class="blog-link">
     
          <a href="/" title="Home">
            <li>主页</li>
          </a>
        
          <a href="/archives" title="Archives">
            <li>归档</li>
          </a>
        
          <a href="/categories" title="Categories">
            <li>分类</li>
          </a>
        
          <a href="/tags" title="Tags">
            <li>标签</li>
          </a>
        
          <a href="/knightabout" title="Knightabout">
            <li>关于</li>
          </a>
        
          <a href="/bridges" title="Bridges">
            <li>传送门</li>
          </a>
        
          <a href="/announcement" title="Announcement">
            <li>公告</li>
          </a>
        
    </ul>
  </div>
</div>

        <section id="main"><article id="post-【学习记录】【Python】【numpy】自学简要记录（未完）" class="wow slideInRight article article-type-post" itemscope itemprop="blogPost">
  <div class="article-meta">
    <a href="/1111/11/11/%E3%80%90%E5%AD%A6%E4%B9%A0%E8%AE%B0%E5%BD%95%E3%80%91%E3%80%90Python%E3%80%91%E3%80%90numpy%E3%80%91%E8%87%AA%E5%AD%A6%E7%AE%80%E8%A6%81%E8%AE%B0%E5%BD%95%EF%BC%88%E6%9C%AA%E5%AE%8C%EF%BC%89/" class="article-date">
  <time class="post-time" datetime="1111-11-11T03:06:11.000Z" itemprop="datePublished">
    <span class="post-month">11月</span><br/>
    <span class="post-day">11</span>
  </time>
</a>
   
  </div>
  <div class="article-inner">
    
    
      <header class="article-header">
        
  
    <h1 class="article-title" itemprop="name">
      【学习记录】【Python】【numpy】自学简要记录（未完）.md
    </h1>
  

        <div>
          
  <div class="article-category">
    <a class="article-category-link" href="/categories/%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86/">基础知识</a>,<a class="article-category-link" href="/categories/%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86/python/">python</a>,<a class="article-category-link" href="/categories/%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86/python/numpy/">numpy</a>
  </div>

          
              

          
        </div>
      </header>
    
    <div class="article-entry" itemprop="articleBody">
      
        <h2 id="说明-2022-05-05"><a class="markdownIt-Anchor" href="#说明-2022-05-05"></a> 说明 - 2022-05-05</h2>
<p>本篇博客为本人原创, 原发布于CSDN, 在搭建个人博客后使用爬虫批量爬取并挂到个人博客, 出于一些技术原因博客未能完全还原到初始版本(而且我懒得修改), 在观看体验上会有一些瑕疵 ,若有需求会发布重制版总结性新博客。发布时间统一定为1111年11月11日。钦此。</p>
<p>自学记录，不专业</p>
<h2 id="1很基础的操作"><a class="markdownIt-Anchor" href="#1很基础的操作"></a> 1.很基础的操作</h2>
<h4 id="010建立一个数组以及查看它的一些属性"><a class="markdownIt-Anchor" href="#010建立一个数组以及查看它的一些属性"></a> 010.建立一个数组以及查看它的一些属性</h4>
<p>看就完了，奥里给</p>
<p>​<br />
import numpy as np</p>
<pre><code>lst=[i for i in range(6)]

#---------------------------------------------------
input('\n\n1.创建两个数组，类型为numpy.ndarray\n')
array1=np.array(lst)
array2=np.array([[[1,2,3],[4,5,6]],[[0,0,1],[1,1,2]]],dtype=np.int8)#dtype参数规定数组中数据的数据类型

print(type(array1),type(array2))

#----------------------------------------------------
input('\n\n2.查看数组的维度和形状\n')
print('维度：',array1.ndim,array2.ndim)
print('形状：',array1.shape,array2.shape)
</code></pre>
<p>​<br />
​<br />
#-----------------------------------------------------<br />
input(’\n\n3.改变数组形状\n’)<br />
array1_re=array1.reshape(2,3)<br />
print(‘改变后：’,array1_re)<br />
print(‘改变前：’,array1)</p>
<p>​<br />
#-----------------------------------------------------<br />
input(’\n\n4.查看数组数据类型\n’)<br />
print(array1.dtype,array2.dtype)</p>
<p>​<br />
#-----------------------------------------------------<br />
input(’\n\n5.查看数组的大小(貌似就是元素个数)\n’)<br />
print(array1.size,array2.size)</p>
<h4 id="011最简单的提取信息"><a class="markdownIt-Anchor" href="#011最简单的提取信息"></a> 011.最简单的提取信息</h4>
<p>提取第几行第几列</p>
<p>​<br />
import numpy as np</p>
<pre><code>array=np.array([i for i in range(18)]).reshape(3,6)#reshape的作用是把np.array中创建的一维数组变形
print('原数组array：\n',array)
</code></pre>
<p>​<br />
#----------------------------------------------<br />
input(’\n\n1.取原数组的0-1行，1-3列\n’)<br />
array1=array[0:2,1:4]<br />
print(array1)</p>
<pre><code>#----------------------------------------------
input('\n\n2.取原素组1-末行的首-4列\n')
array2=array[1:,:4]
print(array2)
</code></pre>
<p>​<br />
#----------------------------------------------<br />
input(’\n\n3.取原数组首-末行的2-末列\n’)<br />
array3=array[:,2:]<br />
print(array3)</p>
<h4 id="012最简单的矩阵运算"><a class="markdownIt-Anchor" href="#012最简单的矩阵运算"></a> 012.最简单的矩阵运算</h4>
<p>加减乘 转置</p>
<p>​<br />
import numpy as np</p>
<pre><code>array1=np.array([i for i in range(18)]).reshape(3,6)
array2=np.array([i*3 for i in range(18)]).reshape(3,6)
print('原数组：\n',array1,'\n\n',array2,sep='')
</code></pre>
<p>​<br />
#-----------------------------------------------<br />
input(’\n\n两数组相加\n’)<br />
print(array1+array2)</p>
<p>​<br />
#-----------------------------------------------<br />
input(’\n\n两数组相减\n’)<br />
print(array1-array2)</p>
<p>​<br />
#-----------------------------------------------<br />
input(’\n\n两数组相乘，注意不是矩阵乘法，只是把对应位置的数相乘\n’)<br />
print(array1*array2)</p>
<p>​<br />
#-----------------------------------------------<br />
input(’\n\narray1+2\n’)<br />
print(array1+2)</p>
<pre><code>#-----------------------------------------------
input('\n\narray1转置\n')
print(array1.T)
</code></pre>
<p>矩阵乘法<br />
numpy.matmul(a,b)<br />
numpy.dot(a,b)</p>
<h4 id="01a精度"><a class="markdownIt-Anchor" href="#01a精度"></a> 01a.精度</h4>
<p>元素为float16类型的数组和元素为float64类型的数组记录同样的值，扩大10000倍后不一样<br />
通过 set_printoptions(precision=?) 来设置精度</p>
<p>​<br />
import numpy as np</p>
<pre><code>array_float16=np.array([[2.2,4.4],[6.6,8.8]],dtype=np.float16)
array_float64=np.array([[2.2,4.4],[6.6,8.8]],dtype=np.float64)
</code></pre>
<p>​<br />
#------------------------------------------------------------------------<br />
input(’\n\n1.精度不同，值会存在误差\n’)<br />
print(‘原数组：\n’,array_float16,’\n\n’,array_float64,sep=’’)</p>
<pre><code>input('\n如果把里面的元素都扩大10000倍\n\n')
print('扩大后：\n',array_float16*10000,'\n\n',array_float64*10000,sep='')
</code></pre>
<p>​<br />
#------------------------------------------------------------------------<br />
input(’\n\n2.通过 set_printoptions(precision=?) 来设置精度\n\n’)<br />
np.set_printoptions(precision=6)<br />
print(array_float64/3)</p>
<p>​</p>
<h4 id="01b数组元素默认的数据类型"><a class="markdownIt-Anchor" href="#01b数组元素默认的数据类型"></a> 01b.数组元素默认的数据类型</h4>
<p>int:默认int32<br />
float：默认float64</p>
<p>​<br />
import numpy as np</p>
<pre><code>array1=np.array([1,2])
array2=np.array([1.0,2.0])

print(array1.dtype,array2.dtype)
</code></pre>
<h2 id="15快速创建数组1"><a class="markdownIt-Anchor" href="#15快速创建数组1"></a> 1.5快速创建数组1</h2>
<p>zeros 创建指定形状和类型的全 0 数组<br />
zeros_like 创建另一个数组的形状和类型创建全 0 数组<br />
ones 创建指定形状和类型的全 1 数组<br />
ones_like 创建另一个数组的形状和类型创建全 1 数组<br />
empty 创建指定形状和类型的空数组，不对数据进行初始化<br />
empt_like 根据另一个数组的形状和类型创建空数组，不对数据尽兴初始化<br />
full 创建指定形状和类型的数组，全部填上指定的值<br />
full_like 根据另一个数组的形状和类型创建空数组，全部填上指定的值</p>
<p>​<br />
import numpy as np</p>
<pre><code>array=np.arange(48).reshape(4,4,3)
spt=np.dsplit(array,3)

input('\n\nnp.zeors,参数给数组形状')
zero1=np.zeros((4,4,1),dtype=np.int8)
print(zero1)

input('\n\nnp.zeros_like参数给一个数组，创建一个相同形状的数组')
zero2=np.zeros_like(spt[0],dtype=np.int8)
print(zero2)
</code></pre>
<p>​<br />
​<br />
import numpy as np</p>
<pre><code>array=np.arange(48).reshape(4,4,3)
spt=np.dsplit(array,3)

input('\n\nnp.ones,参数给数组形状')
one1=np.ones((4,4,1),dtype=np.int8)
print(one1)

input('\n\nnp.ones_like参数给一个数组，创建一个相同形状的数组')
one2=np.ones_like(spt[0],dtype=np.int8)
print(one2)
</code></pre>
<p>​<br />
​<br />
import numpy as np</p>
<pre><code>array=np.arange(48).reshape(4,4,3)
spt=np.dsplit(array,3)

input('这两种方法不对数据进行初始化')

input('\n\nnp.empty,参数给数组形状')
empty1=np.empty((4,4,1),dtype=np.int8)
print(empty1)

input('\n\nnp.empty_like参数给一个数组，创建一个相同形状的数组')
empty2=np.empty_like(spt[0],dtype=np.int8)
print(empty2)
</code></pre>
<p>​<br />
​<br />
import numpy as np</p>
<pre><code>array=np.arange(48).reshape(4,4,3)
spt=np.dsplit(array,3)

input('以下两种方法建立某种形状且值全为给定值的数组')

input('\n\nnp.full,参数给数组形状')
ful=np.full((4,4,1),25,dtype=np.int8)
print(ful)

input('\n\nnp.full_like参数给一个数组，创建一个相同形状的数组')
fulll=np.full_like(spt[0],12,dtype=np.int8)
print(fulll)
</code></pre>
<h2 id="16快速创建数组2"><a class="markdownIt-Anchor" href="#16快速创建数组2"></a> 1.6快速创建数组2</h2>
<h4 id="快速创建固定步长等差递变数组"><a class="markdownIt-Anchor" href="#快速创建固定步长等差递变数组"></a> 快速创建固定步长等差递变数组</h4>
<p>arange（开始，结束，步长） 创建等差递变数组</p>
<p>​<br />
import numpy as np</p>
<pre><code>input('numpy.arange(),下面的三个参数分别为开始，结束，步长')
arr=np.arange(-15,23,0.25)
print(arr)
</code></pre>
<h4 id="快速创建有固定元素个数的等差递变数组"><a class="markdownIt-Anchor" href="#快速创建有固定元素个数的等差递变数组"></a> 快速创建有固定元素个数的等差递变数组</h4>
<p>linspace(开始，结束，元素个数)</p>
<p>​<br />
import numpy as np</p>
<pre><code>print(np.linspace(-20,72,104))
</code></pre>
<p>​</p>
<h2 id="2比较基础的东西"><a class="markdownIt-Anchor" href="#2比较基础的东西"></a> 2.比较基础的东西</h2>
<h4 id="020基础索引-切片"><a class="markdownIt-Anchor" href="#020基础索引-切片"></a> 020.基础索引 、切片</h4>
<p>​<br />
import numpy as np</p>
<pre><code>array=np.array([i for i in range(125)]).reshape(5,5,5)
print('原数组:\n',array,sep='')
</code></pre>
<p>​<br />
#-----------------------------------------------------<br />
input(’\n\n获取第2块，第3行，第4列的元素,以下两种方法等效：\n’)<br />
print(array[2][3][4])<br />
print(array[2,3,4])</p>
<pre><code>#-----------------------------------------------------
input('\n\n指定步长的索引：获取第0、3块，第0、2、4行，第3列（基于python列表基础）\n')
print(array[::3,::2,3])

#-----------------------------------------------------
input('\n\n中括号表示在该维度上取特定的元素：eg1:获取第0、3、4块,后4行,所有列\n')
print('eg1:\n',array[[0,3,4],1:],sep='')
input('\n\n然而当我们箱获得第0,1,2,4块，第0,2,3,4行，只得到了一块四行的数据\n')
print('eg2:\n',array[[0,1,2,4],[0,2,3,4]],sep='')
</code></pre>
<h4 id="021索引-numpyix_"><a class="markdownIt-Anchor" href="#021索引-numpyix_"></a> 021.索引 numpy.ix_()</h4>
<p>​<br />
import numpy as np</p>
<pre><code>array=np.array([i for i in range(125)]).reshape(5,5,5)
</code></pre>
<p>​<br />
#-----------------------------------------------------<br />
input(’\n\n解决上面(020)的问题，随心所欲取块行列\n’)<br />
#用np.ix_()包裹[0,1,2,4],[0,2,3,4]<br />
print(array[np.ix_([0,1,2,4],[0,2,3,4])])</p>
<pre><code>#-----------------------------------------------------
input('\n\n顺便看一下np.ix_([0,1,2,4],[0,2,3,4])是什么\n')
print(np.ix_([0,1,2,4],[0,2,3,4]))

#-----------------------------------------------------
input('\n\n把[0,1,2,4],[0,2,3,4]中的[0,1,2,4]换成[[0,1,2,4]]再转置效果也能达到这个效果\n')
tmp=np.array([[0,1,2,4]]).T
print(array[tmp,[0,2,3,4]])
</code></pre>
<h4 id="022组合"><a class="markdownIt-Anchor" href="#022组合"></a> 022.组合</h4>
<p>​<br />
import numpy as np</p>
<pre><code>lst1=[0,1,2,3,4]
lst2=[4,5,6,7,8]
lst3=[9,8,7,5,6]
</code></pre>
<p>​<br />
array1=np.array([lst1,lst2,lst3])<br />
print(array1)</p>
<pre><code>input( 'next ')
arr1=np.array(lst1)
arr2=np.array(lst2)
arr3=np.array(lst3)
array2=np.array([arr1,arr2,arr3])

print(array2)
</code></pre>
<h4 id="023bool索引"><a class="markdownIt-Anchor" href="#023bool索引"></a> 023.bool索引</h4>
<p>​<br />
import numpy as np</p>
<pre><code>array=np.arange(100)#相当于np.array([i for i in range(100)])
</code></pre>
<p>​<br />
#-------------------------------------<br />
input(’\n\nbool索引\n’)<br />
array_bool=array%3==0<br />
print(array_bool)</p>
<pre><code>#-------------------------------------
input('\n\n保留3的倍数\n')
array_mod3=array[array_bool]
print(array_mod3)
</code></pre>
<h2 id="3数组存入文件-从文件中导入数组"><a class="markdownIt-Anchor" href="#3数组存入文件-从文件中导入数组"></a> 3.数组存入文件、从文件中导入数组</h2>
<h4 id="030导入txt文件-数组储存为txt文件"><a class="markdownIt-Anchor" href="#030导入txt文件-数组储存为txt文件"></a> 030.导入txt文件、数组储存为txt文件</h4>
<p>​<br />
import numpy as np</p>
<pre><code>#--------------------------------------------------
input('\n\n读取txt文件\n')
array1=np.genfromtxt('abc.txt',dtype=np.str)
print(array1)

#delimiter  分隔符
array2=np.genfromtxt('abc.txt',dtype=np.int16,delimiter=' &amp;QAQ&amp; ')
print(array2)
</code></pre>
<p>​<br />
#--------------------------------------------------<br />
input(’\n\n读取txt文件,用numpy.loadtxt貌似和numpy.genfromtxt差不多\n’)<br />
print(‘但貌似genfromtxt功能强一些，下方改为dtype=np.int16会报错，而genfromtxt不会’)<br />
array3=np.loadtxt(‘abc.txt’,dtype=np.str,delimiter=’ &amp;QAQ&amp; ')<br />
print(array3)</p>
<p>​<br />
#--------------------------------------------------<br />
input(’\n\n保存数组为txt\n’)<br />
array1[0,0]=0<br />
np.savetxt(‘abc_2.txt’,array1,fmt=’%s’,delimiter=’ &amp;QAQ&amp; ')<br />
#参数依次为 保存为txt文件的名字 要保存的数组的名字 元素储存格式 分隔符<br />
print(‘保存完成’)</p>
<h4 id="031二进制储存-导入一个数组"><a class="markdownIt-Anchor" href="#031二进制储存-导入一个数组"></a> 031.二进制储存、导入一个数组</h4>
<p>​<br />
import numpy as np</p>
<pre><code>array1=np.arange(48).reshape(6,8)
array2=array1.reshape(8,6)

print('二进制读写')

#--------------------------------------------------
input('\n\n储存一个数组，array1\n')
np.save('abc-b.sadfsd',array1)
print('储存完成')
print('你会发现储存后文件的后缀名永远是npy(如果不是，会自动补上)')
</code></pre>
<p>​<br />
#--------------------------------------------------<br />
input(’\n\n读取一个数组，格式npy\n’)<br />
array9=np.load(‘abc-b.sadfsd.npy’)<br />
print(array9)</p>
<p>​</p>
<h4 id="032对于多个数组"><a class="markdownIt-Anchor" href="#032对于多个数组"></a> 032.对于多个数组</h4>
<p>​<br />
import numpy as np</p>
<pre><code>array1=np.arange(48).reshape(6,8)
array2=array1.reshape(8,6)

#--------------------------------------------------
input('\n\n储存多个数组,用numpy.savez()\n')
np.savez('abc-b.sadfsd',giao=array1,cxkjntm=array2)
#giao 和 cxknjntm是数组的key值(类似字典)，下面会说
print('储存完成')
print('你会发现储存后文件的后缀名永远是npz(如果不是，会自动补上)')
</code></pre>
<p>​<br />
#---------------------------------------------------<br />
input(’\n\n读取一个或多个数组（读取一个npz文件）\n’)<br />
array_home=np.load(‘abc-b.sadfsd.npz’)<br />
print(array_home)<br />
print(‘发现这样读出了一个地址’)</p>
<pre><code>#---------------------------------------------------
input('\n\n分别输出之前存入的array1 array2\n')
print(array_home['giao'])
print(array_home['cxkjntm'])
</code></pre>
<h2 id="4数组的合并与拆分"><a class="markdownIt-Anchor" href="#4数组的合并与拆分"></a> 4.数组的合并与拆分</h2>
<h4 id="040列合并1-npc_"><a class="markdownIt-Anchor" href="#040列合并1-npc_"></a> 040.列合并1 np.c_[]</h4>
<p>​<br />
import numpy as np</p>
<pre><code>array1=np.arange(16).reshape(4,4)
array2=np.array([111,222,333,444])

print('注意array2是个一个四行一列向量，是个列向量：array2.shape:',array2.shape)
input()

input('列合并,注意np.c_[]中的括号是方括号')
combie1=np.c_[array1,array2]
combie2=np.c_[array2,array1]

print(combie1,&quot;\n\n&quot;,combie2)
</code></pre>
<h4 id="041列合并2-npcolumn_stack"><a class="markdownIt-Anchor" href="#041列合并2-npcolumn_stack"></a> 041.列合并2 np.column_stack()</h4>
<p>注意参数是元组形式</p>
<p>​<br />
import numpy as np</p>
<pre><code>arr1=np.arange(4)
arr2=np.arange(4,8)
arr3=np.arange(8,12)

input('列叠加若干个一维列向量\n\n')
combie1=np.column_stack((arr1,arr2,arr3))
print(combie1)

input('按列合并数组')
mid1=np.column_stack((arr1,arr2))
combie2=np.column_stack((mid1,arr3))
combie3=np.column_stack((combie2,combie2))

print(combie3)
</code></pre>
<h4 id="042行合并1-npr_"><a class="markdownIt-Anchor" href="#042行合并1-npr_"></a> 042.行合并1 np.r_[]</h4>
<p>​<br />
import numpy as np</p>
<pre><code>array1=np.arange(16).reshape(4,4)
array2=np.array([111,222,333,444])

print('注意array2是个一个四行一列向量，是个列向量：array2.shape:',array2.shape)
print('如果使用行合并np.r_[]需要先把array2转化称行向量')
input()

input('行合并,注意np.r_[]中的括号是方括号')
combie1=np.r_[array1,array2.reshape(1,4)]
combie2=np.r_[array2.reshape(1,4),array1]

print(combie1,&quot;\n\n&quot;,combie2)
</code></pre>
<p>​</p>
<h4 id="043行合并2-nprow_stack"><a class="markdownIt-Anchor" href="#043行合并2-nprow_stack"></a> 043.行合并2 np.row_stack()</h4>
<p>注意参数是元组形式</p>
<p>​<br />
import numpy as np</p>
<pre><code>arr1=np.arange(4)
arr2=np.arange(4,8)
arr3=np.arange(8,12)

input('行叠加若干个一维列向量\n\n')
combie1=np.row_stack((arr1,arr2,arr3))
print(combie1)
print(&quot;注意这里不用先把列向量转化为行向量，因为一维列向量会在函数内转化称二维行&quot;)

input('按行合并数组')
mid1=np.row_stack((arr1,arr2))
combie2=np.row_stack((mid1,arr3))
combie3=np.row_stack((combie2,combie2))

print(combie3)
</code></pre>
<h4 id="044拆分split"><a class="markdownIt-Anchor" href="#044拆分split"></a> 044.拆分split</h4>
<p>​<br />
import numpy as np</p>
<pre><code>#新建0-63的4x4x4三维数组
array1=np.arange(64).reshape(4,4,4)
print(array1)
</code></pre>
<p>​<br />
input(“用 split方法拆分数组，参数见注释\n”)<br />
#用split(ary, indices_or_sections, axis=0)拆分</p>
<pre><code>#axis表示分割轴的方向
#（解释沿某方向：假设二维数组沿水平方向切割，可以想象有一条水平方向的轴线，沿着找条水平轴线的方向把轴线竖切称若干份，得到若干份数组）
#关于axis： 自己实验发现axis=0表示以最高维度方向为分割方向，如三维数组沿深度方向分割，二位数组沿垂直方向分割
#axis=1 ，沿第二高的维度方向分割 以此类推

#当indices_or_sections为整数x，则把数组平分成x份，若不能平分则报错
#当indices_or_sections为列表，则按照列表中的元素为轴拆分数组
arr1=np.split(array1,4,2)
print(arr1,'\n\n')
arr2=np.split(array1,[1,3],2)
print(arr2)
</code></pre>
<h4 id="045拆分hsplitvsplitdsplit"><a class="markdownIt-Anchor" href="#045拆分hsplitvsplitdsplit"></a> 045.拆分hsplit,vsplit,dsplit</h4>
<p>​<br />
import numpy as np</p>
<pre><code>#新建0-63的4x4x4三维数组
array1=np.arange(64).reshape(4,4,4)
print(array1)

print('分别使用hsplit,vsplit,dsplit分割\n(horizontally,vertically,depth)\n')
print('注意：hsplit相当于axis=1,vsplit相当于axis=0，dsplit相当于axis=2')
print('\n\n\n分别使用h,v,d方法拆分三维数组:')

input('hsplit(ary, indices_or_sections),两参数同split一样\n')
print(np.hsplit(array1,[1,2,3]))

input('vsplit(ary, indices_or_sections),两参数同split一样\n')
print(np.vsplit(array1,4))

input('dsplit(ary, indices_or_sections),两参数同split一样\n')
print(np.dsplit(array1,4))

#貌似拆分数组维度不变
</code></pre>
<h4 id="046根据拆分类比多维数组的合并"><a class="markdownIt-Anchor" href="#046根据拆分类比多维数组的合并"></a> 046.根据拆分类比多维数组的合并</h4>
<p>​<br />
import numpy as np</p>
<pre><code>类比 split      hsplit vsplit dsplit
有 concatenate  hstack vstack dstack

np.vstack((a,b))  
效果大概同  
np.concatenate((a,b),axis=0)#注意(a,b)是元组形式的

v:axis=0
h:axis=1
d:axis=2
</code></pre>

      
    </div>
    <footer class="article-footer">
      <a data-url="http://example.com/1111/11/11/%E3%80%90%E5%AD%A6%E4%B9%A0%E8%AE%B0%E5%BD%95%E3%80%91%E3%80%90Python%E3%80%91%E3%80%90numpy%E3%80%91%E8%87%AA%E5%AD%A6%E7%AE%80%E8%A6%81%E8%AE%B0%E5%BD%95%EF%BC%88%E6%9C%AA%E5%AE%8C%EF%BC%89/" data-id="cl2uhoece0021e4j333o5fl8e" class="article-share-link">分享</a>
      
      
  <ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/OldBlog-Before20220505/" rel="tag">OldBlog(Before20220505)</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/python%E5%BA%93/" rel="tag">python库</a></li></ul>

    </footer>
  </div>
  
    
<nav id="article-nav">
  
    <a href="/1111/11/11/%E3%80%90%E5%AD%A6%E4%B9%A0%E8%AE%B0%E5%BD%95%E3%80%91%E3%80%90Python%E3%80%91%E3%80%90cv2%E3%80%91%E8%87%AA%E5%AD%A6cv2%20%E7%9A%84%E7%AE%80%E5%8D%95%E8%AE%B0%E5%BD%95%EF%BC%88%E5%B7%B2%E7%BB%8F%E8%85%B0%E6%96%A9%E6%8D%A2%E6%96%B0%E7%9A%84%EF%BC%89/" id="article-nav-newer" class="article-nav-link-wrap">
      <strong class="article-nav-caption">上一篇</strong>
      <div class="article-nav-title">
        
          【学习记录】【Python】【cv2】自学cv2 的简单记录（已经腰斩换新的）.md
        
      </div>
    </a>
  
  
    <a href="/1111/11/11/%E3%80%90%E5%AD%A6%E4%B9%A0%E8%AE%B0%E5%BD%95%E3%80%91%E3%80%90Python%E3%80%91%E3%80%90openpyxl%E3%80%91%E7%AE%80%E8%A6%81%E5%AD%A6%E4%B9%A0openpyxl%20%20%20%E7%9A%84%20%20%20%20%E8%AE%B0%E5%BD%95----%E6%9C%AA%E5%AE%8C%E5%BE%85%E7%BB%AD/" id="article-nav-older" class="article-nav-link-wrap">
      <strong class="article-nav-caption">下一篇</strong>
      <div class="article-nav-title">【学习记录】【Python】【openpyxl】简要学习openpyxl   的    记录----未完待续.md</div>
    </a>
  
</nav>

  
</article>



</section>
        
          <aside id="sidebar">
  
    <div class="widget-wrap">
  <h3 class="widget-title"></h3>
  <div class="widget">
    <h1 class="blog-title">蓝湖畔淅淅沥沥的雨</h1>
    <h2 class="blog-subtitle">All tragedy erased, I see only wonders...</h2>
    <ul class="blog-link">
     
          <a href="/" title="Home">
            <li>主页</li>
          </a>
        
          <a href="/archives" title="Archives">
            <li>归档</li>
          </a>
        
          <a href="/categories" title="Categories">
            <li>分类</li>
          </a>
        
          <a href="/tags" title="Tags">
            <li>标签</li>
          </a>
        
          <a href="/knightabout" title="Knightabout">
            <li>关于</li>
          </a>
        
          <a href="/bridges" title="Bridges">
            <li>传送门</li>
          </a>
        
          <a href="/announcement" title="Announcement">
            <li>公告</li>
          </a>
        
    </ul>
  </div>
</div>

  
    <div class="widget-wrap">
  <h3 class="widget-title"></h3>
  <div class="widget">
    <img class="avatar" src="/images/avatar.png">
    <h2 class="author">StarsWhisper</h2>
    <h3 class="description"></h3>
    <div class="count-box">
      <a href="/archives"><div><strong>75</strong><br>文章</div></a>
      <a href="/categories"><div><strong>31</strong><br>分类</div></a>
      <a href="/tags"><div><strong>56</strong><br>标签</div></a>
    </div>



    <div class="social-link">
      
        <a class="hvr-bounce-in" href="https://github.com/Wldcmzy" target="_blank" title="Github">
          Github
        </a>
      
        <a class="hvr-bounce-in" href="https://blog.csdn.net/wldcmzy" target="_blank" title="CSDN">
          CSDN
        </a>
      
        <a class="hvr-bounce-in" href="https://space.bilibili.com/83743701" target="_blank" title="bilibili(无技术和学习内容)">
          bilibili(无技术和学习内容)
        </a>
      
    </div>

    <div class="friend-link">
      <h2>友情链接</h2>
      
        <a class="hvr-bounce-in" href="https://shanamaid.github.io/" target="_blank" title="夏娜主题作者的博客">
          夏娜主题作者的博客
        </a>
      
    </div>
  </div>
</div>

  
</aside>
        
      </div>
      <footer id="footer">
  
  <div class="outer">
    <div id="footer-info" class="inner">
      &copy;2021 - 2022 StarsWhisper<br>
      由<a href="http://hexo.io/" target="_blank">Hexo</a>强力驱动 | 
      主题-<a target="_blank" rel="noopener" href="https://github.com/ShanaMaid/hexo-theme-shana">Shana</a>(但是魔改)
      
    </div>
    
  </div>
</footer>
    </div>
    

<script src="//apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="//apps.bdimg.com/libs/wow/0.1.6/wow.min.js"></script>
<script>
new WOW().init();
</script>   


  
<link rel="stylesheet" href="/plugin/fancybox/jquery.fancybox.css">

  
<script src="/plugin/fancybox/jquery.fancybox.pack.js"></script>




  
<link rel="stylesheet" href="/plugin/galmenu/GalMenu.css">

  
<script src="/plugin/galmenu/GalMenu.js"></script>

  <div class="GalMenu GalDropDown">
      <div class="circle" id="gal">
        <div class="ring">
          
            <a href="/announcement" title="" class="menuItem">公告</a>
          
            <a href="/tags" title="" class="menuItem">标签</a>
          
            <a href="/categories" title="" class="menuItem">分类</a>
          
            <a href="/archives" title="" class="menuItem">归档</a>
          
            <a href="/knightabout" title="" class="menuItem">关于</a>
          
            <a href="/bridges" title="" class="menuItem">传送门</a>
          
        </div>
        
          <audio id="audio" src="#"></audio>
        
      </div> 
</div>
<div id="overlay" style="opacity: 1; cursor: pointer;"></div>
  <script type="text/javascript">var items = document.querySelectorAll('.menuItem');
    for (var i = 0,
    l = items.length; i < l; i++) {
      items[i].style.left = (50 - 35 * Math.cos( - 0.5 * Math.PI - 2 * (1 / l) * i * Math.PI)).toFixed(4) + "%";
      items[i].style.top = (50 + 35 * Math.sin( - 0.5 * Math.PI - 2 * (1 / l) * i * Math.PI)).toFixed(4) + "%"
    }</script>
<script type="text/javascript">
  $(document).ready(function() {
    $('body').GalMenu({
      'menu': 'GalDropDown'
    })
  });
</script>

  <section class="hidden-xs"> 
  <ul class="cb-slideshow"> 
    <li><span>苟利</span></li> 
    <li><span>国家</span></li> 
    <li><span>生死以</span></li> 
    <li><span>岂能</span></li> 
    <li><span>祸福</span></li> 
    <li><span>趋避之</span></li> 
  </ul>
</section>

<script src="/js/script.js"></script>




  </div>
</body>
</html>